[
    {
        "ArchStdEvent": "FRONTEND_BOUND",
        "MetricExpr": "((stall_slot_frontend) if (#slots - 5) else (stall_slot_frontend - cpu_cycles)) / (#slots * cpu_cycles)"
    },
    {
        "ArchStdEvent": "BAD_SPECULATION",
        "MetricExpr": "(1 - op_retired / op_spec) * (1 - (stall_slot if (#slots - 5) else (stall_slot - cpu_cycles)) / (#slots * cpu_cycles))"
    },
    {
        "ArchStdEvent": "RETIRING",
        "MetricExpr": "(op_retired / op_spec) * (1 - (stall_slot if (#slots - 5) else (stall_slot - cpu_cycles)) / (#slots * cpu_cycles))"
    },
    {
        "ArchStdEvent": "BACKEND_BOUND"
    },
    {
        "MetricExpr": "L1D_TLB_REFILL / L1D_TLB",
        "BriefDescription": "The rate of L1D TLB refill to the overall L1D TLB lookups",
        "MetricGroup": "TLB",
        "MetricName": "l1d_tlb_miss_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "L1I_TLB_REFILL / L1I_TLB",
        "BriefDescription": "The rate of L1I TLB refill to the overall L1I TLB lookups",
        "MetricGroup": "TLB",
        "MetricName": "l1i_tlb_miss_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "L2D_TLB_REFILL / L2D_TLB",
        "BriefDescription": "The rate of L2D TLB refill to the overall L2D TLB lookups",
        "MetricGroup": "TLB",
        "MetricName": "l2_tlb_miss_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "DTLB_WALK / INST_RETIRED * 1000",
        "BriefDescription": "The rate of TLB Walks per kilo instructions for data accesses",
        "MetricGroup": "TLB",
        "MetricName": "dtlb_mpki",
        "ScaleUnit": "1MPKI"
    },
    {
        "MetricExpr": "DTLB_WALK / L1D_TLB",
        "BriefDescription": "The rate of DTLB Walks to the overall L1D TLB lookups",
        "MetricGroup": "TLB",
        "MetricName": "dtlb_walk_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "ITLB_WALK / INST_RETIRED * 1000",
        "BriefDescription": "The rate of TLB Walks per kilo instructions for instruction accesses",
        "MetricGroup": "TLB",
        "MetricName": "itlb_mpki",
        "ScaleUnit": "1MPKI"
    },
    {
        "MetricExpr": "ITLB_WALK / L1I_TLB",
        "BriefDescription": "The rate of ITLB Walks to the overall L1I TLB lookups",
        "MetricGroup": "TLB",
        "MetricName": "itlb_walk_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "L1I_CACHE_REFILL / INST_RETIRED * 1000",
        "BriefDescription": "The rate of L1 I-Cache misses per kilo instructions",
        "MetricGroup": "Cache",
        "MetricName": "l1i_cache_mpki",
        "ScaleUnit": "1MPKI"
    },
    {
        "MetricExpr": "L1I_CACHE_REFILL / L1I_CACHE",
        "BriefDescription": "The rate of L1 I-Cache misses to the overall L1 I-Cache",
        "MetricGroup": "Cache",
        "MetricName": "l1i_cache_miss_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "L1D_CACHE_REFILL / INST_RETIRED * 1000",
        "BriefDescription": "The rate of L1 D-Cache misses per kilo instructions",
        "MetricGroup": "Cache",
        "MetricName": "l1d_cache_mpki",
        "ScaleUnit": "1MPKI"
    },
    {
        "MetricExpr": "L1D_CACHE_REFILL / L1D_CACHE",
        "BriefDescription": "The rate of L1 D-Cache misses to the overall L1 D-Cache",
        "MetricGroup": "Cache",
        "MetricName": "l1d_cache_miss_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "L2D_CACHE_REFILL / INST_RETIRED * 1000",
        "BriefDescription": "The rate of L2 D-Cache misses per kilo instructions",
        "MetricGroup": "Cache",
        "MetricName": "l2d_cache_mpki",
        "ScaleUnit": "1MPKI"
    },
    {
        "MetricExpr": "L2D_CACHE_REFILL / L2D_CACHE",
        "BriefDescription": "The rate of L2 D-Cache misses to the overall L2 D-Cache",
        "MetricGroup": "Cache",
        "MetricName": "l2d_cache_miss_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "L3D_CACHE_REFILL / INST_RETIRED * 1000",
        "BriefDescription": "The rate of L3 D-Cache misses per kilo instructions",
        "MetricGroup": "Cache",
        "MetricName": "l3d_cache_mpki",
        "ScaleUnit": "1MPKI"
    },
    {
        "MetricExpr": "L3D_CACHE_REFILL / L3D_CACHE",
        "BriefDescription": "The rate of L3 D-Cache misses to the overall L3 D-Cache",
        "MetricGroup": "Cache",
        "MetricName": "l3d_cache_miss_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "LL_CACHE_MISS_RD / INST_RETIRED * 1000",
        "BriefDescription": "The rate of LL Cache read misses per kilo instructions",
        "MetricGroup": "Cache",
        "MetricName": "ll_cache_read_mpki",
        "ScaleUnit": "1MPKI"
    },
    {
        "MetricExpr": "LL_CACHE_MISS_RD / LL_CACHE_RD",
        "BriefDescription": "The rate of LL Cache read misses to the overall LL Cache read",
        "MetricGroup": "Cache",
        "MetricName": "ll_cache_read_miss_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "(LL_CACHE_RD - LL_CACHE_MISS_RD) / LL_CACHE_RD",
        "BriefDescription": "The rate of LL Cache read hit to the overall LL Cache read",
        "MetricGroup": "Cache",
        "MetricName": "ll_cache_read_hit_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "BR_MIS_PRED_RETIRED / INST_RETIRED * 1000",
        "BriefDescription": "The rate of branches mis-predicted per kilo instructions",
        "MetricGroup": "Branch",
        "MetricName": "branch_mpki",
        "ScaleUnit": "1MPKI"
    },
    {
        "MetricExpr": "BR_RETIRED / INST_RETIRED * 1000",
        "BriefDescription": "The rate of branches retired per kilo instructions",
        "MetricGroup": "Branch",
        "MetricName": "branch_pki",
        "ScaleUnit": "1PKI"
    },
    {
        "MetricExpr": "BR_MIS_PRED_RETIRED / BR_RETIRED",
        "BriefDescription": "The rate of branches mis-predited to the overall branches",
        "MetricGroup": "Branch",
        "MetricName": "branch_miss_pred_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "instructions / CPU_CYCLES",
        "BriefDescription": "The average number of instructions executed for each cycle.",
        "MetricGroup": "PEutilization",
        "MetricName": "ipc"
    },
    {
        "MetricExpr": "ipc / 5",
        "BriefDescription": "IPC percentage of peak. The peak of IPC is 5.",
        "MetricGroup": "PEutilization",
        "MetricName": "ipc_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "INST_RETIRED / CPU_CYCLES",
        "BriefDescription": "Architecturally executed Instructions Per Cycle (IPC)",
        "MetricGroup": "PEutilization",
        "MetricName": "retired_ipc"
    },
    {
        "MetricExpr": "INST_SPEC / CPU_CYCLES",
        "BriefDescription": "Speculatively executed Instructions Per Cycle (IPC)",
        "MetricGroup": "PEutilization",
        "MetricName": "spec_ipc"
    },
    {
        "MetricExpr": "OP_RETIRED / OP_SPEC",
        "BriefDescription": "Of all the micro-operations issued, what percentage are retired(committed)",
        "MetricGroup": "PEutilization",
        "MetricName": "retired_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "1 - OP_RETIRED / OP_SPEC",
        "BriefDescription": "Of all the micro-operations issued, what percentage are not retired(committed)",
        "MetricGroup": "PEutilization",
        "MetricName": "wasted_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "OP_RETIRED / OP_SPEC * (1 - (STALL_SLOT if (#slots - 5) else (STALL_SLOT - CPU_CYCLES)) / (#slots * CPU_CYCLES))",
        "BriefDescription": "The truly effective ratio of micro-operations executed by the CPU, which means that misprediction and stall are not included",
        "MetricGroup": "PEutilization",
        "MetricName": "cpu_utilization",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "LD_SPEC / INST_SPEC",
        "BriefDescription": "The rate of load instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "load_spec_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "ST_SPEC / INST_SPEC",
        "BriefDescription": "The rate of store instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "store_spec_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "DP_SPEC / INST_SPEC",
        "BriefDescription": "The rate of integer data-processing instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "data_process_spec_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "ASE_SPEC / INST_SPEC",
        "BriefDescription": "The rate of advanced SIMD instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "advanced_simd_spec_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "VFP_SPEC / INST_SPEC",
        "BriefDescription": "The rate of floating point instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "float_point_spec_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "CRYPTO_SPEC / INST_SPEC",
        "BriefDescription": "The rate of crypto instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "crypto_spec_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "BR_IMMED_SPEC / INST_SPEC",
        "BriefDescription": "The rate of branch immediate instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "branch_immed_spec_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "BR_RETURN_SPEC / INST_SPEC",
        "BriefDescription": "The rate of procedure return instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "branch_return_spec_rate",
        "ScaleUnit": "100%"
    },
    {
        "MetricExpr": "BR_INDIRECT_SPEC / INST_SPEC",
        "BriefDescription": "The rate of indirect branch instructions speculatively executed to overall instructions speclatively executed",
        "MetricGroup": "InstructionMix",
        "MetricName": "branch_indirect_spec_rate",
        "ScaleUnit": "100%"
    }
]
